
using namespace std;

#include "EscuchaTeclasIngresadas.h"

EscuchaTeclasIngresadas::EscuchaTeclasIngresadas(bool atributo) : Thread(atributo){
}

EscuchaTeclasIngresadas::~EscuchaTeclasIngresadas() {
	free(this);
}

//Manejador de señales de interrupcion.
void EscuchaTeclasIngresadas::signalHandler(int signal){
	//Informo la finalizacion por sysout
	cout<< "[INFO] - Se cierra el hilo de respuesta a clientes. "<< endl;
	//Cierro el thread.
	pthread_exit(NULL);
}

void EscuchaTeclasIngresadas::run (){
	/* Me attacho a la señal que envia el server para finalizar. */
	signal(SENIAL_FIN_PARTIDA, EscuchaTeclasIngresadas::signalHandler);

	/* Mientras el cliente este activo */
	while (Partida::getInstance()->isActivo()) {
		if(!Partida::getInstance()->isStoped())
			/* Desencolo la respuesta generada */
			Partida::getInstance()->tomarAccionPresionada();

		usleep(200000);

		//TODO: Ver si hay que dormir o no
	}

	//Cierro el thread.
	pthread_exit(NULL);
}
	
